﻿/**
 *
 * @file NCTDialogMultipleOwned.h
 * @brief 多重声学包 层信息添加插入编辑窗口
 * @author wangning (2185896382@qq.com)
 * @date 2024-12-16
 *
 */
#ifndef _GUINCTDialogMultipleOwned_H_
#define _GUINCTDialogMultipleOwned_H_

#include "AbstractPhysicsDialog.h"
#include "FITK_Component/FITKAcousticsPhysics/FITKAcousticsNCTMultipleNoise.h"
#include <QComboBox>

namespace Ui
{
    class NCTDialogMultipleOwned;
}

namespace GUI
{
    /**
     * @brief 多重声学包 层信息添加编辑窗口
     * @author wangning (2185896382@qq.com)
     * @date 2024-12-16
    */
    class NCTDialogMultipleOwned : public AbstractMaterialDialog
    {
        Q_OBJECT
    public:
        /**
         * @brief 构造函数
         * @param[i]  data        层对象
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        explicit NCTDialogMultipleOwned(Acoustics::FITKAcousticsNCTMultipleNoiseWeight *data=nullptr);
        /**
         * @brief 析构函数
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        ~NCTDialogMultipleOwned();
        /**
         * @brief 获取对象
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        Acoustics::FITKAcousticsNCTMultipleNoiseWeight *getData();
    private:
        /**
         * @brief 初始化
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        void init();
        /**
        * @brief 初始化下拉框
        * @author wangning (2185896382@qq.com)
        * @date 2024-12-16
        */
        void initComboBox();
        /**
        * @brief 检查输入
        * @return true  输入没有错误
        * @return false  输入有错误
        * @author LiBaojun (libaojunqd@foxmail.com)
        * @date 2024-12-06
        */
        bool checkInput();


    private slots:
        /**
         * @brief 除了多孔型的所有类型确定按钮槽函数
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        void on_pushButton_OK_clicked();
        /**
         * @brief 除了多孔型的所有类型取消按钮槽函数
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        void on_pushButton_Cancel_clicked();
        /**
         * @brief 类型下拉框切换
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        void slot_comboBox_type_currentText(QString str);
    private:
        /**
         * @brief UI对象
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        Ui::NCTDialogMultipleOwned *_ui{};
     
        /**
         * @brief  单层对象
         * @author wangning (2185896382@qq.com)
         * @date 2024-12-16
         */
        Acoustics::FITKAcousticsNCTMultipleNoiseWeight * _data{};
    };
}
#endif 

